For controlling a system such as a vehicle to achieve desired objectives, a controller issues commands in the form of control inputs that are aimed at modifying the behavior of the system, e.g., the steering angle of the wheels modifying the yaw rate of a running car. Example of the desired objectives are to follow a specified path, called a reference, or to achieve a specific point, called a target. Examples of the control inputs are the angle and speed of the shaft of an electric motor, the torque of a combustion engine, the position of a linear valve, the angle of a steering mechanism. Furthermore, the system may be subject to constraints, due to physical, legal, or specification requirements, such as maximum voltages, maximum and minimum velocities, or maximum difference between the reference and the actual machine position.
The control inputs produced by the controller are received from one or more actuation mechanisms, e.g., the electric motor of a power steering system, that enacts them by modifying additional physical quantities, such as the voltage or current in an electric motor, the airflow or pressure in an engine. These additional physical quantities are usually not considered in the controller. For instance, the steering angle control input of a vehicle may be enacted by an electric motor in the steering column by manipulating the motor current to cause a rotational motion of the steering column, which then results in movement of the steering rack. The controller commands an angle of the steering wheels, the actuating electric motor first increases and then decreases the electric current to align the wheels are aligned with the commanded steering angle.
In general, the control input sent to the actuation mechanisms is not instantaneously executed. This is due to the actuation mechanism requiring a certain amount of time to achieve the commands due to the internal dynamics associated with the additional physical quantities, called internal dynamics. For instance, the electric motor needs time to modify the current and to rotate the steering column from its current angle to the angle that aligns the steering wheels with the value indicated in the control input. Similarly, a combustion engine needs time to achieve the torque value indicated in a control input by increasing the pressure in the intake manifold, and a stepper motor may take some time to achieve the valve opening value indicated in a control input by applying voltage pulses.
Thus, the expected behavior of the system reacting immediately to the control inputs, and the actual behavior of the system reacting to control inputs through the effects of the actuators may be different. In the art this problem is often addressed by: (1) designing the actuator such that the time for actuating the control input is negligible with respect to the motion of the machine, (2) ignoring such difference and correcting the error afterwards by means of feedback, (3) accounting for the way the actuation mechanism operates in the control algorithm. However, (1) imposes some limitations on the way the actuation mechanism is designed, which may not be possible to enforce if the actuator is already provided, (2) may cause errors that cannot be recoverable by feedback, such as violation of system constraints which endanger the system operation, and (3) may not be possible due to the details of the actuation mechanism being unavailable, because provided by third parties, and in any case requires controller re-design should the actuator change.
As such there is need for a method that makes the controller tunable to the actuators, so that the controller accounts for the deviation from the expected behavior due to the actuator operation.